# 使用 Java 镜像作为基础镜像
FROM openjdk:11-jdk-slim AS final

# 安装 Nginx 和 supervisord 用于管理多个进程
RUN apt-get update && apt-get install -y nginx supervisor

# 设置工作目录
WORKDIR /app

# 复制构建好的 JAR 文件到容器中的工作目录
COPY target/demo01-1.0-SNAPSHOT.jar /app/

# 复制前端资源到 Nginx 默认的静态资源路径
COPY dist /usr/share/nginx/html

# 复制自定义的 Nginx 配置文件到容器中
COPY nginx.conf /etc/nginx/nginx.conf

# 添加 supervisord 配置文件
COPY supervisord.conf /etc/supervisord.conf

# 暴露 Java 应用和 Nginx 的端口
EXPOSE 8081
EXPOSE 80

# 启动 supervisord 来同时管理 Java 和 Nginx
CMD ["supervisord", "-c", "/etc/supervisord.conf"]